/**
 * Created by mkDark on 2018/2/1.
 */
var CONFIG = require('../../../../common/config');
var CODE = require('../../../../common/code');
var retUtil = require('./retUtil');
var superagent = require('superagent');


//不供路由层使用可以给工具方法使用
var javaSearchProjectUtil = (function () {

    function javaSearchProjectUtil() {

    }


    /**
     * 从 java工程YjxSearchProject中搜索统一商品信息
     *
     * @author 毛凯
     * @date 2018-1-31
     *
     * @param {Object} param 搜索参数列表
     * @param {Array}  [param.showTypes] 模板大分类showTypes_Id  [2,3,4]
     * @param {string} [param.keyword] 关键词                促销
     * @param {Array}  [param.setIds]  模板小分类set_Id        [17,18]
     * @param {Number} param.orderBy 排序字段   1 时间  2 次数  3 order  4 先按order排order相同用更新时间排
     * @param {Number} param.pageNum 页码       1  默认 0开始
     * @param {Number} param.pageSize 每页个数   12
     * @param {Number} [param.withTotalPage] 是否需要返回总页数  0不需要  1需要
     * @param {Number} [param.userId]  //TODO 保留参数 用户唯一标识
     * @param {Array} [param.tmplTypes] vip模板和非vip模板    0普通模板 10 vip模板   [0,10]
     * @param {Array} [param.durations] 视频时长维度    1,0-10  2,11-30 3,31-60 4,61-90 单位秒  [1,2,3]
     *
     * @param {Function} callback 回调
     *          error: 查询失败
     *          data : {
     *              list: [
     *                  {
     *                      查寻的结果列表1
     *                  },
     *                   {
     *                      查寻的结果列表2
     *                  }
     *              ],
     *              totalPage : 总页数
     *          }
     */
    javaSearchProjectUtil.searchUniItemsFromJavaRedis = function (param,callback) {

        //if(typeof tmplTypes === 'function') {
        //    callback = tmplTypes;
        //    tmplTypes = [0];    // 默认只获取免费模板, 避免影响老接口
        //}
        var url = CONFIG.YJX_JAVA_REDIS_SEARCH_BASE_URL + "/cache/search";
        //测试用
        //var url = "127.0.0.1:8080/YjxSearchProject" + "/cache/search";
        if (!param.showTypes) param.showTypes = null;
        if (!param.keyword) param.keyword = null;
        if (!param.setIds) param.setIds = null;
        if (!param.orderBy) param.orderBy = 4;
        if (!param.pageNum) param.pageNum = null;
        if (!param.pageSize) param.pageSize = null;
        if (!param.withTotalPage) param.withTotalPage = null;
        if (!param.tmplTypes) param.tmplTypes = [0];
        if (!param.durations) param.durations = null;
        superagent.get(url)
            .send(param)
            .end(function (error, res) {
                if (error) {
                    return callback(error, null);
                }
                var data = retUtil.safe_parser_JSON_string(res.text);
                if (!data) {
                    return callback('搜索失败', data);
                }
                return callback(null, data);
            });
        return;
    };




    //----------------------------------------
    return javaSearchProjectUtil;
})();
module.exports = javaSearchProjectUtil;